/*
* Sun Public License Notice
*
* The contents of this file are subject to the Sun Public License
* Version 1.0 (the "License"). You may not use this file except in
* compliance with the License. A copy of the License is available at
* http://www.sun.com/
*
* The Original Code is Forte for Java, Community Edition. The Initial
* Developer of the Original Code is Sun Microsystems, Inc. Portions
* Copyright 1997-2000 Sun Microsystems, Inc. All Rights Reserved.
*/
package parser.tokenizer.explorer;
import java.util.*;
import org.openide.nodes.*;
import parser.tokenizer.*;
import parser.tokenizer.tokens.*;
/**
*
* @author jleppanen
* @version
*/
public class LexicalStateNode extends AbstractNode {
/** Creates new TokenNode */
public LexicalStateNode() {
super(new Children.Array());
setDisplayName("LexicalStateNode - default");
}
public LexicalStateNode(LexicalState s) {
super(new Children.Array());
setDisplayName("LexicalState: "+s.getName());
Children lexStates = new Children.Array();
Node lexStatesNode = new AbstractNode(lexStates);
lexStatesNode.setName("sub-states");
Children tokens = new Children.Array();
Node tokensNode = new AbstractNode(tokens);
tokensNode.setName("tokens");
Children children = getChildren();
children.add(new Node[] { lexStatesNode, tokensNode });
{Iterator i = s.getTokens().iterator();
while (i.hasNext()) {
LexToken t = (LexToken)i.next();
tokens.add( new Node[] { new TokenNode(t) } );
}}
{Iterator i = s.getStates().iterator();
while (i.hasNext()) {
LexicalState t = (LexicalState)i.next();
lexStates.add( new Node[] { new LexicalStateNode(t) } );
}}
}
}